
import Request_post from "../../../request/Request_post"
import Request_get from "../../../request/Request_get"

import config from '../../../config/config'; 


//功能页面需要再次引入notify
import Notify from '../../../miniprogram_npm/@vant/weapp/notify/notify';


Page({

	/**
	 * 页面的初始数据
	 */
	data: {

		password:"",
		num:1,
		show: false,

		// 文件上传
		fileList: [],
		imgUrls: [],

		// title图片 + 大波浪
		imgarray:{},
		title_image:"http://47.107.83.159:8899/ResourcesLink/image/title_Marking_ExchangeGifts_list.jpg",

		// Title背景图（普通效果+CSS动画：A_波浪效果 + B_底边弧形效果）
		Title_Image: 
		[ 
			{key: "Title_Image",value: config.imageUrl+"/solve/a01.jpg"},
		],



		// 意淫图片的 对应关系
		pvImage:[
			{id:"10",img:"s01.jpg"},
			{id:"11",img:"s02.jpg"},
			{id:"12",img:"s03.jpg"},
			{id:"13",img:"s04.jpg"},
			{id:"14",img:"s05.jpg"},
			{id:"15",img:"s06.jpg"},
			{id:"16",img:"s07.jpg"},
		]

	},
	

	/** 普通Title && 带动画Title 设置（被调用） */
	titleImageSetup:function(){
		var that = this
		let obj = {}
		let pageimgArr = that.data.Title_Image
		// 数组转换为对象
		pageimgArr.forEach(i => {obj[i.key] = i.value})
		that.setData({background_image: obj })
		// console.log(that.data.background_image)
	},


	/** 跳转到 WeChat_Authion 页面 */
	navLink_WeChat_Authion:function(){
		wx.navigateTo({
			url: '/pages/Frame/WeChat_Authion/WeChat_Authion',
		})
	},


	/*---------- 使用Vant框架实现图片上传、预览、删除 Begin ----------*/
	// Vant：文件上传
	afterRead(event) {
		const { file } = event.detail;
    wx.uploadFile({
      url: config.domainName+"api_wxmkt_server/upload",
      filePath: file.url,
      name: 'file',
      formData: { user: 'file' },
      success:(res)=> {
				this.setData({ fileList:[] })
        // 上传完成需要更新 fileList
        const { fileList = [] } = this.data;
        this.data.fileList.push({ ...file, url: res.data });
				this.setData({ fileList });
				// 以上为Vant官方代码，以下为自己实际业务的代码（数组：imgUrls 为预览、删除、上传用的真实图片数组 ）
				var fileListArray = this.data.fileList
				var tempObj = {}
				// console.log(fileListArray)
				for(var i in fileListArray){
					tempObj.url = JSON.parse(fileListArray[i].url).payload.data.filename
					tempObj.name = '图片'+ event.detail.index
					tempObj.isImage = true
					tempObj.deletable = true 
				}
				this.data.imgUrls.push(tempObj)
				this.setData({imgUrls: this.data.imgUrls})
      },
    });
	},
	// Vant：删除文件
	deleteImg(event) {
		// console.log(event)
		let imgDelIndex = event.detail.index
		let imgUrls = this.data.imgUrls
		imgUrls.splice(imgDelIndex,1)
		// console.log('删除图片的',imgUrls)
		this.setData({
			imgUrls
		})
	},
	// 上传图片到服务器
  uploadImg:function(){
    var that = this
    const scd = that.data.scd
    const salamt = that.data.salamt
    if(!scd){that.setData({scd:"",})}else{that.setData({scd:String(that.data.scd)})}
    if(!salamt){that.setData({salamt:0,})}else{that.setData({salamt:Number(that.data.salamt)})}
		// 使用Vant组件后，原来的imgUrls数组结构必须遵循Vant框架的要求，所以这里不能直接对imgUrls数组进行循环（取data的值），需要重构一个新的数组[imageurl]来做为取值对象，imageurl的结构为["图片01实际地址",""图片02实际地址"...]
		var tempImgArray = that.data.imgUrls
		var imageurl = []
		// console.log(that.data.imgUrls)
		for(var i in tempImgArray){
			imageurl.push(tempImgArray[i].url)
		}
		// 如果有图片
    if(that.data.imgUrls.length){
      let data = {
        rqtmodid: "01",
        rqtbrf: that.data.textArea || "积分补登-交易小票拍照",
        scd: that.data.scd,
        trdamt: that.data.salamt,
			};	
      imageurl.forEach((url,index) => {
        data[`picname0${index+1}`] = url
			});
      /** Api请求：12-001 会员积分补登申请-01拍照模式 **/
      Request_post.post(
      config.domainName+'api_wxmkt_server/mbritgextadd/mbritgextadd',
      data,
      function(res){
        // console.log(res)
        if(res != "undefined" && res.return_no == 1){
          that.setData({
            rqtno:res.return_data.rqtno
          })
          wx.showModal({
            title: res.return_msg+"  "+ that.data.rqtno,
            showCancel:false,
            success (res) {
              if (res.confirm) {
                wx.redirectTo({
                  url:"/SubpkgMemberbiz/pages/Member/Mbritgextadd/ItgAdd_RecordDetails/ItgAdd_RecordDetails?rqtno="+that.data.rqtno,
                })
              } 
            }
          })
        }else{
          wx.showToast({
            title: res.return_msg,
          })
        }

      })
    }else{
      wx.showToast({
        title: '没有需要上传的图片',
        icon: 'none',
        duration: 2000
      })
    }
   
  },
	/*---------- 使用Vant框架实现图片上传、预览、删除 end ----------*/ 










	// 购买数量控制
	onChange(event) {
		// console.log(event.detail);

		//下面的代码是显示意淫图片的
		var cnt = event.detail
		var obj = this.data.background_image
		var pvImage = this.data.pvImage
		pvImage.forEach((v,i) =>{
			console.log(v.id,cnt)
			// if(cnt > 9){
				if(cnt == v.id){
					console.log('匹配了',obj)
					obj.Title_Image = config.imageUrl+"solve/" + v.img
					this.setData({
						background_image:obj
					})
					throw new Error('End')		// forEach无法通过正常流程结束循环————可以通过“抛出异常的方式"实现终止循环
				}else{
					obj.Title_Image = config.imageUrl+"/solve/a01.jpg"
					this.setData({
						background_image:obj
					})
				}
				
		})
  },



	//弹出层
	showPopup() {
    this.setData({ show: true });
  },
  onClose() {
    this.setData({ show: false });
  },



	//顶部通知栏
	onClick:function(){
		var that = this
		Notify({
			message: '支付成功',				//通知详情描述
			color: '#FFFFFF',					//通知栏字体颜色
			background: '#07C160',		//通知栏背景色
			duration: 3000,						//持续时长
		});
		
		that.setData({show:true})
		
	},

	bindinputname:function(res){
		// console.log(res.detail)
	},
	bindinputpwd:function(res){
		// console.log(res.detail)
	},

	/**
	 * 生命周期函数--监听页面加载
	 */
	
	WeChatPay:function(){
		var that = this
		wx.showModal({
			title: 'ABA支付 测试',
			content: '测试支付金额为0.01元，是否确认？',
			showCancel: true,//是否显示取消按钮
			cancelText:"取消",//默认是“取消”
			cancelColor:'skyblue',//取消文字的颜色
			confirmText:"确认",//默认是“确定”
			success: function (res) {
				 if (res.confirm) { //点击确认

					// 支付
					let bllno = App.globalData.mbrid + Math.round(new Date() / 1000)	// 在线充值单单号：mbrid+时间戳
					that.setData({bllno})
					/** Api请求：昆明奥博克支付 ———— 支付请求-顾客购券 **/
					Request_post.post(
						config.domainName+"api_wxmkt_server/paysvr/pay",
						{
							bllno: that.data.bllno,													//第三方业务单号：如：点餐的订单号、充值业务的XX充值单号...等等
							paysvr_tmnid: config.paysvr_tmnid,							//昆明奥博克支付平台终端号
							paysvr_chnid: "201",														//aba支付平台：201-微信支付
							paysvr_biztypid: "mbrbuycop",
							amount: that.data.payamt,												//支付金额
							open_id: getApp().globalData.wx_openid,					//付款人的wx_openid
							bizparams: {
								appid: config.as_appid,												//渠道ID
								appuserid: getApp().globalData.wx_openid,			//付款人的wx_openid
								mbl: getApp().globalData.mbl,
								echmodid: "05",
								copcltid: config.copcltid,
								echtmnid: config.echtmnid,
								mbrcltid: config.cltid,
								rulechbllno: that.data.srcbllno
							}
						}, 
						function(res){
							// console.log("发起支付请求的回调：")
							// console.log(res)
							if(res != 'undefinde' &&　res.return_no == 1){
								that.setData({rsn:res.return_data.rsn})
								/** Api请求：微信_Api ———— 发起微信支付 */
								wx.requestPayment({
									timeStamp: res.return_data.payment_params.timeStamp,			//发起支付请求时的时间戳
									nonceStr: res.return_data.payment_params.nonceStr,				//随机字符串
									package: res.return_data.payment_params.package,					//统一下单接口返回的 prepay_id=****（即：package的值）：
									signType: 'MD5',																					//签名算法，应与后台下单时的值一致
									paySign: res.return_data.payment_params.paySign,					//签名
									success:function(e){
										// console.log("微信支付后的回调：")
										// console.log(e)
										/** 支付完毕后的操作 */
										wx.showLoading({
											title: '获取支付结果',
										});
										// 开始轮询支付结果
										that.keyId = setInterval(() => {
											var numVlu = that.data.num + 1	//轮询的次数累加
											that.setData({num:numVlu})
											// console.log("轮询的次数：")
											// console.log(that.data.num)
											that.wxPay_Result();						//轮询时执行的方法
										},1000)	//轮询间隔时间
									}
									/**    完成支付   **/
								})
							}
						}
					)
				 }else{		//点击取消
					wx.showModal({
						title: '您取消了支付',
						showCancel: false,//是否显示取消按钮
					})
				}
			},
			fail: function (res) { },//接口调用失败的回调函数
			complete: function (res) { },//接口调用结束的回调函数（调用成功、失败都会执行）
	 })

	},


	// 微信支付结果查询，支付后轮询时调用此方法
	wxPay_Result:function(){
		var that = this
		/** Api请求 昆明奥博克支付 ———— 支付结果查询 */
		Request_get.get(
			config.domainName+"api_wxmkt_server/paysvr/payresult",
			{
				biztypid: "mbrbuycop",
				bllno: that.data.bllno,
				paybllno: that.data.rsn
			},
			function(res){
				// console.log("支付结果轮询的回调：")
				// console.log(res)
				if( res.return_no == 1 ){
					wx.hideLoading()
					clearInterval(that.keyId)		//终止轮询
					//终止轮询后的操作
					wx.redirectTo({
						url:"/SubpkgMarketing/pages/Coupon/GetCopSuccess/GetCopSuccess?copid="+res.return_data.bizbllno+"&msg=支付购买优惠券"
					})
				}else if(res.return_no != 1 && that.data.num == 60){    //每间隔1秒做一次轮询，轮询60次（60秒）后，还没有获得支付成功的结果就判定支付失败！。
					wx.hideLoading()
					clearInterval(that.keyId)		//终止轮询
					wx.showModal({
						title:"支付异常",
						content:"未获取到支付成功结果\r\n异常业务订单号：\r\n"+that.data.bllno,
						showCancel:false,
						success: function (res) {
							if (res.confirm) {
								wx.redirectTo({
									url:App.globalData.homePage
								})
							}
						}
					})
				}
			}
		)
	},













	// 获取用户信息
	getuserinfo:function(e){
		// console.log(e)
	},


	gifpkglist:function(){
		wx.redirectTo({
			url: '/SubpkgMarketing/pages/GiftPack/AvailableGifPack/AvailableGifPack',
		})
	},


	
	
	


	// 登录
	onLoad: function (options) {

		// this.wave = this.selectComponent("#wave");
		// this.wave.__hideInfo()

		this.titleImageSetup();

		this.setData({
			imgarray:{imgpath:this.data.title_image}
		})
	
	},

	/**
	 * 生命周期函数--监听页面初次渲染完成
	 */
	onReady: function () {

	},

	/**
	 * 生命周期函数--监听页面显示
	 */
	onShow: function () {

	},

	/**
	 * 生命周期函数--监听页面隐藏
	 */
	onHide: function () {

	},

	/**
	 * 生命周期函数--监听页面卸载
	 */
	onUnload: function () {

	},

	/**
	 * 页面相关事件处理函数--监听用户下拉动作
	 */
	onPullDownRefresh: function () {

	},

	/**
	 * 页面上拉触底事件的处理函数
	 */
	onReachBottom: function () {

	},

	/**
	 * 用户点击右上角分享
	 */
	onShareAppMessage: function () {

	}
})